Haptic tactile feedback with buckling mechanism

ABSTRACT

A method may include obtaining, using a first set of resulting signals from various proximity sensor electrodes, positional information regarding a location of an input object in a sensing region. The method may include obtaining, using a second set of resulting signals from various force sensor electrodes, force information regarding an input force that is applied to an input surface. The method may include loading, using a loading actuator and in response to the positional information or the force information, energy in a spring element coupled to a buckling element. The spring element may apply a compression force to the buckling element based on the energy in the spring element. The method may include generating, using a buckling actuator and in response to the positional information or the force information, a haptic event by applying a force to the buckling element to trigger the haptic event.

FIELD

This disclosure generally relates to electronic devices.

BACKGROUND

Input devices, including proximity sensor devices (also commonly calledtouchpads or touch sensor devices), are widely used in a variety ofelectronic systems. A proximity sensor device typically includes asensing region, often demarked by a surface, in which the proximitysensor device determines the presence, location and/or motion of one ormore input objects. Proximity sensor devices may be used to provideinterfaces for the electronic system. For example, proximity sensordevices are often used as input devices for larger computing systems(such as opaque touchpads integrated in, or peripheral to, notebook ordesktop computers). Proximity sensor devices are also often used insmaller computing systems (such as touch screens integrated in cellularphones).

Moreover, input devices may be integrated with haptic functionality. Forexample, user inputs may produce specific physical responses within anelectronic device that resemble traditional keyboard motions, mechanicalswitches, and other physical devices. However, haptic operations mayrequire performance of a series of steps to prepare and execute theparticular physical response. Specifically, the series of steps mayrequire a fair amount of time between detecting a user input thatdesignates the physical response and the execution of the physicalresponse by the electronic device.

SUMMARY

In general, in one aspect, one or more embodiments relate to an inputdevice. The input device includes an input surface, a buckling elementcoupled to a spring element, and a loading actuator coupled to thespring element. The loading actuator stores energy in the springelement. The input device further includes a buckling actuator coupledto the buckling element. The buckling actuator applies a force to thebuckling element in response to a location of an input object in asensing region above the input surface or an input force that is appliedby the input object to the input surface.

In general, in one aspect, one or more embodiments relate to aprocessing system coupled to an input device. The processing systemincludes a sensor module that obtains, from various proximity sensorelectrodes of the input device, a first set of resulting signals. Thesensor module further obtains, from various force sensor electrodes ofthe input device, a second set of resulting signals. The processingsystem further includes a determination module that determines, usingthe first set of resulting signals, positional information regarding alocation of an input object in a sensing region. The determinationmodule further determines, using the second set of resulting signals,force information regarding an input force applied to an input surface.The determination module further loads, using a loading actuator and inresponse to the positional information or the force information, energyin a spring element coupled to a buckling element. The spring elementapplies a compression force to the buckling elements based on the energyin the spring element. The determination module further generates, usinga buckling actuator and in response to the positional information or theforce information, a haptic event by applying a force to the bucklingelement to trigger the haptic event.

In general, in one aspect, one or more embodiments relate to a method.The method includes obtaining, using a first set of resulting signalsfrom various proximity sensor electrodes, positional informationregarding a location of an input object in a sensing region. The methodfurther includes obtaining, using a second set of resulting signals fromvarious force sensor electrodes, force information regarding an inputforce that is applied to an input surface. The method further includesloading, using a loading actuator and in response to the positionalinformation or the force information, energy in a spring element coupledto a buckling element. The spring element applies a compression force tothe buckling element based on the energy in the spring element. Themethod further includes generating, using a buckling actuator and inresponse to the positional information or the force information, ahaptic event by applying a force to the buckling element to trigger thehaptic event.

Other aspects of the disclosed technology will be apparent from thefollowing description and the appended claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 shows a block diagram of an example system that includes an inputdevice in accordance with one or more embodiments.

FIG. 2 shows an electronic system in accordance with one or moreembodiments.

FIG. 3 shows a flowchart in accordance with one or more embodiments.

FIG. 4A shows an example of a haptic system in accordance with one ormore embodiments.

FIG. 4B shows an example of a haptic system in accordance with one ormore embodiments.

FIG. 4C shows an example of a haptic system in accordance with one ormore embodiments.

FIG. 5 shows a flowchart in accordance with one or more embodiments.

FIG. 6A shows an example of various haptic regions in accordance withone or more embodiments.

FIG. 6B shows an example of various force thresholds in accordance withone or more embodiments.

FIG. 6C shows an example of various force thresholds in accordance withone or more embodiments.

FIG. 6D shows an example of various force thresholds in accordance withone or more embodiments.

FIG. 7A shows a schematic diagram of a capacitive sensing system inaccordance with one or more embodiments.

FIG. 7B shows a schematic diagram of a capacitive sensing system inaccordance with one or more embodiments.

FIG. 7C shows a schematic diagram of a capacitive sensing system inaccordance with one or more embodiments.

FIG. 8 shows a computing system in accordance with one or moreembodiments.

DETAILED DESCRIPTION

Specific embodiments of the disclosed technology will now be describedin detail with reference to the accompanying figures. Like elements inthe various figures may be denoted by like reference numerals and/orlike names for consistency.

The following detailed description is merely exemplary in nature, and isnot intended to limit the disclosed technology or the application anduses of the disclosed technology. Furthermore, there is no intention tobe bound by any expressed or implied theory presented in the precedingtechnical field, background, brief summary or the following detaileddescription.

In the following detailed description of embodiments of the disclosedtechnology, numerous specific details are set forth in order to providea more thorough understanding of the disclosed technology. However, itwill be apparent to one of ordinary skill in the art that the disclosedtechnology may be practiced without these specific details. In otherinstances, well-known features have not been described in detail toavoid unnecessarily complicating the description.

Throughout the application, ordinal numbers (e.g., first, second, third,etc.) may be used as an adjective for an element (i.e., any noun in theapplication). The use of ordinal numbers is not to imply or create anyparticular ordering of the elements nor to limit any element to beingonly a single element unless expressly disclosed, such as by the use ofthe terms “before”, “after”, “single”, and other such terminology.Rather, the use of ordinal numbers is to distinguish between theelements. By way of an example, a first element is distinct from asecond element, and the first element may encompass more than oneelement and succeed (or precede) the second element in an ordering ofelements.

Various embodiments of the present disclosed technology provide inputdevices and methods that facilitate improved usability. In particular,one or more embodiments of the disclosed technology are directed toproviding haptic actuation via a buckling element. By storing energy ina spring element, the internal forces within the buckling element mayapproach the level of compression where the buckling element produces abending motion. Thus, a buckling actuator coupled to the bucklingelement may provide the additional force to rapidly cause the bucklingelement to generate a haptic event. Likewise, the buckling actuator maybe triggered in response to various types of user inputs, such as aspecific location of an input object in a sensing region and/or anamount of input force applied by the input object to an input surface.Thus, haptic actuation with a short latency time may be produced using apreloaded spring element.

Turning now to the figures, FIG. 1 is a block diagram of an exemplaryinput device (100), in accordance with embodiments of the disclosedtechnology. The input device (100) may be configured to provide input toan electronic system (not shown). As used in this document, the term“electronic system” (or “electronic device”) broadly refers to anysystem capable of electronically processing information. Somenon-limiting examples of electronic systems include personal computersof all sizes and shapes, such as desktop computers, laptop computers,netbook computers, tablets, web browsers, e-book readers, and personaldigital assistants (PDAs). Additional example electronic systems includecomposite input devices, such as physical keyboards that include inputdevice (100) and separate joysticks or key switches. Further exampleelectronic systems include peripherals, such as data input devices(including remote controls and mice), and data output devices (includingdisplay screens and printers). Other examples include remote terminals,kiosks, and video game machines (e.g., video game consoles, portablegaming devices, and the like). Other examples include communicationdevices (including cellular phones, such as smart phones), and mediadevices (including recorders, editors, and players such as televisions,set-top boxes, music players, digital photo frames, and digitalcameras). Additionally, the electronic system could be a host or a slaveto the input device.

The input device (100) may be implemented as a physical part of theelectronic system, or may be physically separate from the electronicsystem. Further, portions of the input device (100) may be part of theelectronic system. For example, all or part of the determination modulemay be implemented in the device driver of the electronic system. Asappropriate, the input device (100) may communicate with parts of theelectronic system using any one or more of the following: buses,networks, and other wired or wireless interconnections. Examples includeI2C, SPI, PS/2, Universal Serial Bus (USB), Bluetooth, RF, and IRDA.

In FIG. 1, the input device (100) is shown as a proximity sensor device(also often referred to as a “touchpad” or a “touch sensor device”)configured to sense input provided by one or more input objects (140) ina sensing region (120). Example input objects include fingers and styli,as shown in FIG. 1. Throughout the specification, the singular form ofinput object may be used. Although the singular form is used, multipleinput objects may exist in the sensing region (120). Further, theparticular input objects are in the sensing region may change over thecourse of one or more gestures. To avoid unnecessarily complicating thedescription, the singular form of input object is used and refers to allof the above variations.

The sensing region (120) encompasses any space above, around, in and/ornear the input device (100) in which the input device (100) is able todetect user input (e.g., user input provided by one or more inputobjects (140)). The sizes, shapes, and locations of particular sensingregions may vary widely from embodiment to embodiment.

In some embodiments, the sensing region (120) extends from a surface ofthe input device (100) in one or more directions into space untilsignal-to-noise ratios prevent sufficiently accurate object detection.The extension above the surface of the input device may be referred toas the above surface sensing region. The distance to which this sensingregion (120) extends in a particular direction, in various embodiments,may be on the order of less than a millimeter, millimeters, centimeters,or more, and may vary significantly with the type of sensing technologyused and the accuracy desired. Thus, some embodiments sense input thatincludes no contact with any surfaces of the input device (100), contactwith an input surface (e.g. a touch surface) of the input device (100),contact with an input surface of the input device (100) coupled withsome amount of applied force or pressure, and/or a combination thereof.In various embodiments, input surfaces may be provided by surfaces ofcasings within which the sensor electrodes reside, by face sheetsapplied over the sensor electrodes or any casings, etc. In someembodiments, the sensing region (120) has a rectangular shape whenprojected onto an input surface of the input device (100).

The input device (100) may utilize any combination of sensor componentsand sensing technologies to detect user input in the sensing region(120). The input device (100) includes one or more sensing elements fordetecting user input. As several non-limiting examples, the input device(100) may use capacitive, elastive, resistive, inductive, magnetic,acoustic, ultrasonic, and/or optical techniques.

In some resistive implementations of the input device (100), a flexibleand conductive first layer is separated by one or more spacer elementsfrom a conductive second layer. During operation, one or more voltagegradients are created across the layers. Pressing the flexible firstlayer may deflect it sufficiently to create electrical contact betweenthe layers, resulting in voltage outputs reflective of the point(s) ofcontact between the layers. These voltage outputs may be used todetermine positional information.

In some inductive implementations of the input device (100), one or moresensing elements pick up loop currents induced by a resonating coil orpair of coils. Some combination of the magnitude, phase, and frequencyof the currents may then be used to determine positional information.

In some capacitive implementations of the input device (100), voltage orcurrent is applied to create an electric field. Nearby input objectscause changes in the electric field, and produce detectable changes incapacitive coupling that may be detected as changes in voltage, current,or the like.

Some capacitive implementations utilize arrays or other regular orirregular patterns of capacitive sensing elements to create electricfields. In some capacitive implementations, separate sensing elementsmay be ohmically shorted together to form larger sensor electrodes. Somecapacitive implementations utilize resistive sheets, which may beuniformly resistive.

Some capacitive implementations utilize “self capacitance” (or “absolutecapacitance”) sensing methods based on changes in the capacitivecoupling between sensor electrodes and an input object. In variousembodiments, an input object near the sensor electrodes alters theelectric field near the sensor electrodes, thus changing the measuredcapacitive coupling. In one implementation, an absolute capacitancesensing method operates by modulating sensor electrodes with respect toa reference voltage (e.g., system ground), and by detecting thecapacitive coupling between the sensor electrodes and input objects. Thereference voltage may be a substantially constant voltage or a varyingvoltage and in various embodiments; the reference voltage may be systemground. Measurements acquired using absolute capacitance sensing methodsmay be referred to as absolute capacitive measurements.

Some capacitive implementations utilize “mutual capacitance” (or “transcapacitance”) sensing methods based on changes in the capacitivecoupling between sensor electrodes. In various embodiments, an inputobject near the sensor electrodes alters the electric field between thesensor electrodes, thus changing the measured capacitive coupling. Inone implementation, a mutual capacitance sensing method operates bydetecting the capacitive coupling between one or more transmitter sensorelectrodes (also “transmitter electrodes” or “transmitter”) and one ormore receiver sensor electrodes (also “receiver electrodes” or“receiver”). Transmitter sensor electrodes may be modulated relative toa reference voltage (e.g., system ground) to transmit transmittersignals. Receiver sensor electrodes may be held substantially constantrelative to the reference voltage to facilitate receipt of resultingsignals. The reference voltage may be a substantially constant voltageand, in various embodiments, the reference voltage may be system ground.In some embodiments, transmitter sensor electrodes may be modulated. Thetransmitter electrodes are modulated relative to the receiver electrodesto transmit transmitter signals and to facilitate receipt of resultingsignals. A resulting signal may include effect(s) corresponding to oneor more transmitter signals, and/or to one or more sources ofenvironmental interference (e.g., other electromagnetic signals). Theeffect(s) may be the transmitter signal, a change in the transmittersignal caused by one or more input objects and/or environmentalinterference, or other such effects. Sensor electrodes may be dedicatedtransmitters or receivers, or may be configured to both transmit andreceive. Measurements acquired using mutual capacitance sensing methodsmay be referred to as mutual capacitance measurements.

Further, the sensor electrodes may be of varying shapes and/or sizes.The same shapes and/or sizes of sensor electrodes may or may not be inthe same groups. For example, in some embodiments, receiver electrodesmay be of the same shapes and/or sizes while, in other embodiments,receiver electrodes may be varying shapes and/or sizes.

In FIG. 1, a processing system (110) is shown as part of the inputdevice (100). The processing system (110) is configured to operate thehardware of the input device (100) to detect input in the sensing region(120). The processing system (110) includes parts of, or all of, one ormore integrated circuits (ICs) and/or other circuitry components. Forexample, a processing system for a mutual capacitance sensor device mayinclude transmitter circuitry configured to transmit signals withtransmitter sensor electrodes, and/or receiver circuitry configured toreceive signals with receiver sensor electrodes. Further, a processingsystem for an absolute capacitance sensor device may include drivercircuitry configured to drive absolute capacitance signals onto sensorelectrodes, and/or receiver circuitry configured to receive signals withthose sensor electrodes. In one or more embodiments, a processing systemfor a combined mutual and absolute capacitance sensor device may includeany combination of the above described mutual and absolute capacitancecircuitry. In some embodiments, the processing system (110) alsoincludes electronically-readable instructions, such as firmware code,software code, and/or the like. In some embodiments, componentscomposing the processing system (110) are located together, such as nearsensing element(s) of the input device (100). In other embodiments,components of processing system (110) are physically separate with oneor more components close to the sensing element(s) of the input device(100), and one or more components elsewhere. For example, the inputdevice (100) may be a peripheral coupled to a computing device, and theprocessing system (110) may include software configured to run on acentral processing unit of the computing device and one or more ICs(perhaps with associated firmware) separate from the central processingunit. As another example, the input device (100) may be physicallyintegrated in a mobile device, and the processing system (110) mayinclude circuits and firmware that are part of a main processor of themobile device. In some embodiments, the processing system (110) isdedicated to implementing the input device (100). In other embodiments,the processing system (110) also performs other functions, such asoperating display screens, driving haptic actuators/mechanisms (notshown), etc.

The processing system (110) may be implemented as a set of modules thathandle different functions of the processing system (110). Each modulemay include circuitry that is a part of the processing system (110),firmware, software, and/or a combination thereof. In variousembodiments, different combinations of modules may be used. For example,as shown in FIG. 1, the processing system (110) may include adetermination module (not shown) and a sensor module (not shown). Thedetermination module may include functionality to determine when atleast one input object is in a sensing region, determine signal to noiseratio, determine positional information of an input object, identify agesture, determine an action to perform based on the gesture, acombination of gestures or other information, and/or perform otheroperations (e.g. preload a buckling element or determine that thebuckling element is not preloaded and needs to be preloaded by a loadingactuator).

The sensor module may include functionality to drive the sensingelements to transmit transmitter signals and receive the resultingsignals. For example, the sensor module may include sensory circuitrythat is coupled to the sensing elements. The sensor module may include,for example, a transmitter module and a receiver module. The transmittermodule may include transmitter circuitry that is coupled to atransmitting portion of the sensing elements. The receiver module mayinclude receiver circuitry coupled to a receiving portion of the sensingelements and may include functionality to receive the resulting signals.

Alternative or additional modules may exist in accordance with one ormore embodiments. Such alternative or additional modules may correspondto distinct modules or sub-modules of one or more of the modulesdiscussed above. Example alternative or additional modules includehardware operation modules for operating hardware such as sensorelectrodes and display screens, data processing modules for processingdata such as sensor signals and positional information, reportingmodules for reporting information, and identification modules configuredto identify gestures, such as mode changing gestures, and mode changingmodules for changing operation modes. Further, the various modules maybe combined in separate integrated circuits. For example, a first modulemay be comprised at least partially within a first integrated circuitand a separate module may be comprised at least partially within asecond integrated circuit. Further, portions of a single module may spanmultiple integrated circuits. In some embodiments, the processing systemas a whole may perform the operations of the various modules.

In some embodiments, the processing system (110) responds to user input(or lack of user input) in the sensing region (120) directly by causingone or more actions. Example actions include changing operation modes,as well as graphical user interface (GUI) actions such as cursormovement, selection, menu navigation, haptic actuation, and otherfunctions. In some embodiments, the processing system (110) providesinformation about the input (or lack of input) to some part of theelectronic system (e.g. to a central processing system of the electronicsystem that is separate from the processing system (110), if such aseparate central processing system exists). In some embodiments, somepart of the electronic system processes information received from theprocessing system (110) to act on user input, such as to facilitate afull range of actions, including mode changing actions and GUI actions.

For example, in some embodiments, the processing system (110) operatesthe sensing element(s) of the input device (100) to produce electricalsignals indicative of input (or lack of input) in the sensing region(120). The processing system (110) may perform any appropriate amount ofprocessing on the electrical signals in producing the informationprovided to the electronic system. For example, the processing system(110) may digitize analog electrical signals obtained from the sensorelectrodes. As another example, the processing system (110) may performfiltering or other signal conditioning. As yet another example, theprocessing system (110) may subtract or otherwise account for abaseline, such that the information reflects a difference between theelectrical signals and the baseline. As yet further examples, theprocessing system (110) may determine positional information, recognizeinputs as commands, recognize handwriting, and the like.

“Positional information” as used herein broadly encompasses absoluteposition, relative position, velocity, acceleration, and other types ofspatial information. Exemplary “zero-dimensional” positional informationincludes near/far or contact/no contact information. Exemplary“one-dimensional” positional information includes positions along anaxis. Exemplary “two-dimensional” positional information includesmotions in a plane. Exemplary “three-dimensional” positional informationincludes instantaneous or average velocities in space. Further examplesinclude other representations of spatial information. Historical dataregarding one or more types of positional information may also bedetermined and/or stored, including, for example, historical data thattracks position, motion, or instantaneous velocity over time.

“Force information” as used herein is intended to broadly encompassforce information regardless of format. For example, the forceinformation may be provided for each object as a vector or scalarquantity. As another example, the force information may be provided asan indication that determined force has or has not crossed a thresholdamount. As other examples, the force information can also include timehistory components used for gesture recognition. As will be described ingreater detail below, positional information and force information fromthe processing systems may be used to facilitate a full range ofinterface inputs, including use of the proximity sensor device as apointing device for selection, cursor control, scrolling, and otherfunctions.

In some embodiments, the input device (100) is implemented withadditional input components that are operated by the processing system(110) or by some other processing system. These additional inputcomponents may provide redundant functionality for input in the sensingregion (120), or some other functionality. FIG. 1 shows buttons (130)near the sensing region (120) that may be used to facilitate selectionof items using the input device (100). Other types of additional inputcomponents include sliders, balls, wheels, switches, and the like.Conversely, in some embodiments, the input device (100) may beimplemented with no other input components.

In some embodiments, the input device (100) includes a touch screeninterface, and the sensing region (120) overlaps at least part of anactive area of a display screen. For example, the input device (100) mayinclude substantially transparent sensor electrodes (e.g. metal mesh,Indium Tin Oxide, Silver Nano-wires, etc.) overlaying the display screenand provide a touch screen interface for the associated electronicsystem. The display screen may be any type of dynamic display capable ofdisplaying a visual interface to a user, and may include any type oflight-emitting diode (LED), organic LED (OLED), cathode ray tube (CRT),liquid crystal display (LCD), plasma, electroluminescence (EL), or otherdisplay technology. The input device (100) and the display screen mayshare physical elements. For example, some embodiments may utilize someof the same electrical components for displaying and sensing. In variousembodiments, one or more display electrodes of a display device may beconfigured for both display updating and input sensing. As anotherexample, the display screen may be operated in part or in total by theprocessing system (110).

It should be understood that while many embodiments are described in thecontext of a fully-functioning apparatus, the mechanisms of the variousembodiments are capable of being distributed as a program product (e.g.,software) in a variety of forms. For example, the mechanisms of variousembodiments may be implemented and distributed as a software program oninformation-bearing media that are readable by electronic processors(e.g., non-transitory computer-readable and/or recordable/writableinformation bearing media that is readable by the processing system(110)). Additionally, the embodiments may apply equally regardless ofthe particular type of medium used to carry out the distribution. Forexample, software instructions in the form of computer readable programcode to perform one or more embodiments may be stored, in whole or inpart, temporarily or permanently, on a non-transitory computer-readablestorage medium. Examples of non-transitory, electronically-readablemedia include various discs, physical memory, memory, memory sticks,memory cards, memory modules, and or any other computer readable storagemedium. Electronically-readable media may be based on flash, optical,magnetic, holographic, or any other storage technology.

Although not shown in FIG. 1, the processing system, the input device,and/or the host system may include one or more computer processor(s),associated memory (e.g., random access memory (RAM), cache memory, flashmemory, etc.), one or more storage device(s) (e.g., a hard disk, anoptical drive such as a compact disk (CD) drive or digital versatiledisk (DVD) drive, a flash memory stick, etc.), and numerous otherelements and functionalities. The computer processor(s) may be anintegrated circuit for processing instructions. For example, thecomputer processor(s) may be one or more cores or micro-cores of aprocessor. Further, one or more elements of one or more embodiments maybe located at a remote location and connected to the other elements overa network. Further, embodiments may be implemented on a distributedsystem having several nodes, where each portion an embodiment may belocated on a different node within the distributed system. In one ormore embodiments, the node corresponds to a distinct computing device.Alternatively, the node may correspond to a computer processor withassociated physical memory. The node may alternatively correspond to acomputer processor or micro-core of a computer processor with sharedmemory and/or resources.

While FIG. 1 shows a configuration of components, other configurationsmay be used without departing from the scope of the disclosedtechnology. For example, various components may be combined to create asingle component. As another example, the functionality performed by asingle component may be performed by two or more components.Accordingly, for at least the above-recited reasons, embodiments of thedisclosed technology should not be considered limited to the specificarrangements of components and/or elements shown in FIG. 1.

FIG. 2 shows a schematic view of an electronic system (200) inaccordance with one or more embodiments. In one or more embodiments, theelectronic system (200) includes various proximity sensor electrodes(280) that include functionality to determine positional informationregarding one or more input objects (e.g., input object (205)) in asensing region. The electronic system (200) may also include variousforce sensor electrodes (285) that include functionality to determineforce information regarding an input force applied by one or more inputobjects (e.g., input object (205)) to an input surface (e.g., inputsurface (270)) of the electronic system (200). Moreover, the electronicsystem (200) may further include a display device (e.g., display (290)).While the electronic system (200) in FIG. 2 is shown with a display, inone or more embodiments, the electronic system (200) does not include adisplay device. Likewise, the electronic system (200) may include aprocessing system (215) that is communicatively coupled to the proximitysensor electrodes (280), force sensor electrodes (285), and/or thedisplay (290). The processing system (215) may be similar to processingsystem (110) described in FIG. 1 and/or the computing system (800)described in FIG. 8 and the accompanying description.

In one or more embodiments, the electronic system (200) includesfunctionality for preloading a buckling element (230) using an appliedcompression force. In one or more embodiments, for example, the springelement (220) preloads the buckling element (230) with a lateral forcein response to a command by the processing system (215). In particular,the spring element (220) may be a compression spring, a rotary spring, aleaf spring, or any other type of spring with functionality to apply aforce to the buckling element (230). In one or more embodiments, thespring element (220) is a circular array and/or a linear array ofsprings. For example, an array of springs may be coupled with respectivebuckling elements in a buckling element array. In response to a specifichaptic event, all or a portion of the respective buckling elements maybe triggered using one or more buckling actuators (e.g. at differenttimes or locations).

Furthermore, a compression force may be applied to the spring element(230) using a loading actuator (210). In particular, the loadingactuator (210) may include one or more motors (e.g. a linear worm drive,rotary DC motor, piezoelectric, electro-restrictive, thermal expansion,shape memory alloy, etc.). Other examples of a loading actuator mayinclude an electric linear actuator, a piezoelectric actuator, or othertype of mechanical device with functionality to apply a force and/orstore potential energy in the spring element (220). Furthermore, theloading actuator (210) may include a reduced number of motors incomparison to the number of springs in the spring element (230). Inanother embodiment, the loading actuator (210) may be an off-centerrotary motor that releases and pre-loads a spring element that includesa radial set of springs.

The buckling element (230) may be coupled to a rigid support substrate(260) within the electronic system (200). For example, the rigid supportsubstrate (260) may be a housing for the electronic system (200).Specifically, the rigid support substrate (260) may includefunctionality to provide a physical support for the buckling element(230) that is opposite the compression force. For example, the rigidsupport substrate (260) may provide an opposite force to the springelement's compression force in order to produce an internal compressionwithin the buckling element (230).

In one or more embodiments, the electronic system (200) includes abuckling actuator (240) that includes functionality to trigger a hapticevent using the buckling element (230). With a preloaded spring element,a haptic event may be rapidly triggered with a much smaller energy (e.g.lower force). As such, the haptic event may be a physical response thatresembles a vibration and/or physical resistance experienced by a userof an input device. Examples of haptic events may include ringing,vibrations, sounds, and/or other user sensations. In one or moreembodiments, for example, the haptic event is configured to emulate aphysical response produced using a tactile switch (e.g. a snap-dome“click”).

Keeping with the buckling actuator (240) of FIG. 2, in an Euler columnunder compression, an applied force may be directed by the bucklingactuator (240) that is perpendicular to the force applied by the springelement (220). A resulting compression force applied by the springelement (220) may approach the buckling threshold of the bucklingelement (230). Specifically, the buckling threshold may correspond tothe value of Euler's critical load a column to maintain a straightposition. Thus, while the compression force is below the bucklingthreshold, the buckling element (230) may be substantially planar withrespect to the spring element (220).

Once the internal force of the buckling element (230) exceeds thebuckling threshold, the buckling element (230) may produce a bendingmovement that contacts a haptic mass (e.g., haptic mass (250)). In oneor more embodiments, the haptic mass (250) is the same as the inputsurface (205) and/or the rigid support substrate (260). On the otherhand, the haptic mass (250) may be a separate physical substrate insidethe electronic system (200) that produces a particular haptic effect.Likewise, the bending movement may be a rotation and/or physicaltranslation of the buckling element (230) that generates the hapticevent with the haptic mass (250) (e.g. an out-of-plane vertical motionor horizontal motion in-plane with respect to the input surface (270).In contacting the haptic mass (250), for example, the buckling element(230) may produce haptic vibrations or other motions within theelectronic system (200) that resemble tactile physical feedback for auser.

In one or more embodiments, the loading actuator (210) produces abuckling force without a buckling actuator (240) (e.g. a loadingactuator and a buckling actuator may be combined into a singlemechanical component). For example, the loading actuator (210) mayreduce a load on the spring element (220), e.g., producing a tension onthe spring element (220). In the absence of the tension, the springelement (220) may produce a compression force proximate or above thebuckling force of the buckling element (230). Similarly, the bucklingelement (230), the spring element (220), the buckling actuator (240),and/or the loading actuator (210) may be manufactured from a singlesubstrate within the electronic system (200). For example, combining thebuckling element (230) and the spring element (220) into a singlesubstrate may provide support at multiple points with the rigid supportsubstrate (260).

In another embodiment, a buckling actuator (240) produces a vibratoryfrequency corresponding to a resonance of a buckling mode in thebuckling element (230). To cause a haptic event, the buckling element(230) may release stored (e.g. pre-loaded) energy to move a haptic mass,excite a resonant mass, and/or strike a rigid support substrate (260),such as a frame, that is coupled to the input surface (270). As such,the spring energy may be released in a much shorter time and with alower energy than other haptic triggering mechanisms. Furthermore, asshown in FIGS. 4A-4C below, a separation distance may be spaced betweena haptic mass and a buckling element. In another embodiment, a hapticmass may be directly coupled to the buckling element (230), or thehaptic mass and the buckling element may be combined into a singlemechanical component, e.g., a piezo-electric or SMA substrate, a disk,and/or a beam. Likewise, the single mechanical component may bepreloaded into a near buckling condition such that a further smallexcitation causes a buckling event. Moreover, a loading actuator, thespring element, the haptic mass, the buckling element, and the bucklingactuator may be disposed on a single substrate within a single actuationsystem. In another example, with respect to an inertial type hapticfeedback, movement of the buckling element (250) may also produce amovement of a coupled haptic mass.

In one or more embodiments, various gimbals, levers, linkages, gearsand/or other mechanical components are combined with the bucklingelement (230) and/or buckling actuator (240) to produce a particularmechanical effect. For example, the additional mechanical components maychange the direction of the buckling force or scale the buckling forcein a particular direction. In another embodiment, a rotary spring may bethe preloaded spring element (e.g. loaded by a rotary motor as theloading actuator) and an escapement may be used to allow repeateddiscrete triggered haptic energy releases (e.g. for repeated events orto drive a resonant element). In another embodiment, a linear spring maybe the preloaded spring element (e.g. loaded by a linear motor as theloading actuator) and a ratchet may be used to allow repeated discretetriggered energy releases. (e.g. for repeated events or to drive aresonant element). In another embodiment, a piezoelectric disk may beradially loaded in a mounting and where the piezoelectric disk is nearthe buckling threshold while preloaded (e.g. close to buckling out ofplane into a hemisphere from a flat disk or vice versa). Then, a lateralforce may be applied (e.g. a voice coil attached to the disk with amagnet on the mounting, or by reversing the polarity of the preloaddrive)) to trigger the disk to buckle. The piezoelectric disk may beactivated to release, straighten, and then preload the stored energyafter buckling. Likewise, the piezoelectric disk may be excited to nearthe loaded 1st resonant frequency of the buckling (e.g. greater than 20kHz) to trigger buckling and haptic energy release.

While FIG. 2 shows a configuration of components, other configurationsmay be used without departing from the scope of the disclosedtechnology. For example, various components may be combined to create asingle component. As another example, the functionality performed by asingle component may be performed by two or more components of FIG. 2.Accordingly, for at least the above-recited reasons, embodiments shouldnot be considered limited to the specific arrangements of componentsand/or elements shown in FIG. 2.

Turning to FIG. 3, FIG. 3 shows a flowchart in accordance with one ormore embodiments. Specifically, FIG. 3 describes a method for operatingan input device. The process shown in FIG. 3 may involve, for example,one or more components discussed above in reference to FIGS. 1-2 (e.g.,processing system (110)). While the various steps in FIG. 3 arepresented and described sequentially, one of ordinary skill in the artwill appreciate that some or all of the steps may be executed indifferent orders, may be combined or omitted, and some or all of thesteps may be executed in parallel. Furthermore, the steps may beperformed actively or passively.

In Step 300, positional information is obtained regarding one or moreinput objects in a sensing region in accordance with one or moreembodiments. In one or more embodiments, for example, the positionalinformation is obtained using the proximity sensor electrodes (280)described in FIG. 2 and the accompanying description. Likewise, theproximity sensor electrodes may be transmitter electrodes and/orreceiver electrodes as described in FIG. 1 and the accompanyingdescription.

In Step 310, force information is obtained regarding one or more inputforces applied by one or more input objects to an input surface inaccordance with one or more embodiments. In one or more embodiments, forexample, the positional information is obtained using the force sensorelectrodes (285) described in FIG. 2 and the accompanying description.In one or more embodiments, force information is detecting using one ormore embodiments described below in FIGS. 7A, 7B, and/or 7C and theaccompanying description.

In Step 320, a spring element is loaded that is coupled to a bucklingelement in accordance with one or more embodiments. In one or moreembodiments, for example, a processing system causes application of acompression force to a spring element coupled to the buckling element.For example, the processing system may control a loading actuator andcause the loading actuator to load the spring element. The springelement may be similar to spring element (220) described in FIG. 2 andthe accompanying description, while the buckling element may be similarto buckling element (230) described in FIG. 2 and the accompanyingdescription or alternately the spring element and buckling element maybe designed as two combined attributes of a single mechanical part. Inparticular, the processing system may cause the spring element to beloaded at periodic intervals. For example, after a haptic event isproduced with the buckling element, the processing system may apply acompression force to the spring element within a specified time afterthe haptic event, e.g., 50 milliseconds, 100 milliseconds, etc. Thus,the spring element may be pre-loaded in advance of triggering anadditional haptic event. Likewise, reloading the spring element may beused to dampen and/or shift the frequency of any remaining resonance orvibrations in the buckling element resulting from a previous hapticevent.

In one or more embodiments, the spring element is loaded without aloading actuator. For example, the spring element may have a set preloadon the spring element that may be proximate and below the bucklingthreshold. A preloading adjustment mechanism may be coupled to thespring element that may adjust an amount of compression force applied toa buckling element. In other words, the preloading adjustment mechanismmay tune the spring element by increasing and/or reducing the amount ofcompression force depending on the type of haptic event. In oneembodiment, the preloading adjustment mechanism is a set screw.Likewise, other embodiments of the preloaded adjustment mechanism arecontemplated that may include folded springs, cantilevers, clamps, andfixtures, etc.

In Step 330, a haptic event is generated using a buckling element and apre-loaded spring element in response to positional information and/orforce information in accordance with one or more embodiments. With thepre-loaded spring element from Step 320, a processing system may triggera haptic event based on positional information obtained above in Step300 and/or force information obtained in Step 330. The haptic event maybe generated in response to a specific type of positional informationobtained from one or more input objects. For example, if a finger islocated in a particular haptic region of an input device, the processingsystem may trigger the haptic event. Likewise, various gesture movementsdetected by the processing system may also correspond to various typesof haptic movements produced by the input device. Moreover, forceinformation from Step 310 may determine a type of haptic event produceby the processing system.

In one or more embodiments, the buckling element generates a hapticevent with a low latency. In particular, applying a buckling force inconnection with a preloaded spring element may reduce the amount oftime, e.g., latency, between a processing system obtaining positionalinformation and/or force information and the execution of the hapticevent by the buckling actuator. For example, other tactile forcegenerators may be large and use a high amount of power (e.g. voltage orcurrent) to produce haptic events with long, e.g. greater than 30milliseconds (ms) latencies because they may not store energy in thesystem. Such tactile force generators may include rotary and linearresonant motor, for example to increase a force amplitude, with hapticmasses that shake an input surface (e.g. laterally or vertically) toprovide a specific haptic response. Even with boosted pre-emphasis ofthe force amplitude, resonant rise and fall times of the haptic eventmay be longer than 10 ms. Likewise, the latency between an input objecttouching an input surface and an amplitude of the haptic event mayaffect user perception of the haptic effectiveness of the haptic event.Moreover, the duration of a haptic event may be short in comparison tothe amount of time between haptic events, e.g., more than 100 ms. Thus,the reduced latency requirements on the loading actuator and thebuckling actuator may reduce the size, power, and cost required toproduce an input device with particular haptic functionality.

In another embodiment, an input device may include multiple bucklingelements for generating a haptic event in Step 330. For example, aninput device may include multiple preloaded spring elements coupled torespective buckling elements. Based on positional information and/orforce information, a processing system may select a particular intensityof the haptic event. The processing system may produce a low intensityhaptic event using a single preloaded spring element. For a highintensity haptic event, multiple preloaded spring elements may betriggered to produce a haptic motion against one or more haptic masses.Likewise, in another embodiment, multiple springs may be loaded withenergy at approximately similar times and then triggered in series toproduce a particular tactile movement. For example, a controlledsequence of buckling actuators may produce a series of closely spacedhaptic events.

Turning to FIG. 4A, 4B, and 4C, FIGS. 4A, 4B, and 4C provide an exampleof generating a haptic event using a buckling element. The followingexample is for explanatory purposes only and not intended to limit thescope of the disclosed technology.

Turning to FIG. 4A, FIG. 4A shows an elastic beam (430) coupled to anunloaded compression spring (421), a buckling motor (440), and a housingZ (460). The unloaded compression spring (421) is further coupled to aloading motor Y (410). Likewise, the elastic beam (430) is proximate ahaptic mass X (450), e.g., where a separation distance A (411) isbetween the haptic mass X (450) and the elastic beam (430). Turning toFIG. 4B, the loading motor Y (410) receives a command from a processingsystem (not shown) to apply a compression force Q (425) to the unloadedcompression spring (421). The result of the compression force Q (425)produces a preloaded compression spring (422) that transmits thecompression force Q (425) to the elastic beam (430). As such, internalcompression forces inside the elastic beam (430) approach the bucklingthreshold of the elastic beam (430).

Turning to FIG. 4C, FIG. 4C shows a buckling motor (440) triggering ahaptic event using a buckling force (435) upon the elastic beam (430).In response to positional information and/or force information from aninput object (not shown), a processing system (not show) may send acommand to the buckling motor (440) to apply a buckling force (445) tothe elastic beam (430). Because the preloaded compression spring (422)is already providing a compression force to the elastic beam (430), thebuckling force (445) is sufficient to produce a buckling motion in theelastic beam (430) and contact the haptic mass X (450). The contact ofthe elastic beam (430) may produce a physical vibration or otherphysical movement that is detectable by a user of the input device.

Furthermore, while the buckling motor (440) is shown in FIGS. 4A-4C asbeing perpendicular with the elastic beam (430), in one or moreembodiments, a buckling actuator may be approximately planar with aspring element and a buckling element. In particular, the bucklingactuator and/or the spring element (220) may be disposed at a variety ofdifferent angles with respect to one or more haptic masses and/or thebuckling element. Likewise, various types of buckling are contemplatedin haptic systems that include buckling actuators and/or preloadingspring elements. For example, the buckling movement of the bucklingelement may include flexural-torsional buckling, lateral-torsionalbuckling, dynamic buckling, static buckling, multiple bucklings of asingle buckling element, etc. The buckling element, spring (energystorage) element, and haptic mass may be cut and folded from a flatmaterial, or molded and milled to increase the stored energy, controlthe buckling threshold, as well as, reduce the time required to actuatethe buckling. The design may also reduce the direct sensitivity toassembly, or mechanical input from the user to prevent accidentalactivation.

Turning to FIG. 5, FIG. 5 shows a flowchart in accordance with one ormore embodiments. Specifically, FIG. 5 describes a method for operatingan input device. The process shown in FIG. 5 may involve, for example,one or more components discussed above in reference to FIGS. 1-2 (e.g.,processing system (110)). While the various steps in FIG. 5 arepresented and described sequentially, one of ordinary skill in the artwill appreciate that some or all of the steps may be executed indifferent orders, may be combined or omitted, and some or all of thesteps may be executed in parallel. Furthermore, the steps may beperformed actively or passively.

In Step 500, positional information is obtained regarding one or moreinput objects in a sensing region in accordance with one or moreembodiments. Step 500 may be similar to Step 300 described in FIG. 3 andthe accompanying description.

In Step 510, a determination is made whether one or more input objectsare located in one or more haptic regions using positional informationin a sensing region in accordance with one or more embodiments. Forexample, a haptic region may be defined by a set of positionalinformation coordinates and/or a specific capacitive response obtainedby various proximity sensor electrodes. Likewise, haptic positionregions may be dynamic or static. In one or more embodiments, forexample, a haptic position region may correspond to a graphical userinterface window presented within a display device. Based on thechanging shape of the graphical user interface window, the correspondinghaptic position region may also change. In other embodiments, hapticposition regions may correspond to graphical icons, keys on a virtualkeyboard, etc.

Turning to FIG. 6A, FIG. 6A shows an example of a sensing region for aninput device in accordance with one or more embodiments. As shown inFIG. 6A, various haptic regions (e.g., haptic region A (651), hapticregion B (652), haptic region C (653), haptic region D (654), hapticregion E (655), haptic region F (656)) may be defined within the sensingregion. For example, the sensing region of FIG. 6A may have an x-axis(691) and/or a y-axis (692) that correspond to various positioncoordinates. For example, based on the location of an input object(e.g., finger position (660)) in the sensing region, one or more hapticevents may be trigged based on whether the input object is locatedwithin a particular haptic position region. While not shown in FIG. 6A,one or more haptic position regions may overlap with one or more otherhaptic position regions, thereby causing multiple haptics events when aninput object is located within multiple haptic position regions.

Returning to FIG. 5, in Step 520, force information is obtainedregarding one or more input forces applied to an input surface inaccordance with one or more embodiments. Step 520 may be similar to Step310 described in FIG. 3 and the accompanying description.

In Step 530, a determination is made whether force information exceedsone or more force thresholds in accordance with one or more embodiments.Specifically, in response to an application of an input force by aninput object, a processing system may determine whether the input forceexceeds the high force threshold using force information. In one or moreembodiments, for example, a force threshold is defined by the processingsystem according to whether one or more force values associated with theinput force are at or above a specified limit Thus, the processingsystem may compare the force information from an input force to theforce values designated by a particular force threshold to determinewhether the input force exceeds the high force threshold. In one or moreembodiments, an input device includes two or more force thresholds. Formore information on force thresholds, see FIGS. 6B, 6C, and 6D and theaccompanying description below.

Turning to FIGS. 6B, 6C, and 6D, FIGS. 6B, 6C, and 6D showcross-sectional diagrams of an input device in accordance with one ormore embodiments. As shown in FIGS. 6B-6D, an input object (615) mayapply various input forces (e.g., input force A (631), input force B(632), and input force C (633)) to an input device (600). In particular,an input force may include an amount of force exerted by the inputobject (615) to an input surface of the input device (600). Thus, theinput force may span various locations in a sensing region of the inputdevice (600), and may also include one or more different forcemagnitudes at different locations of the input surface.

In one or more embodiments, the input device (600) includes a low forcethreshold (605) and a high force threshold (610). As such, the forcethresholds (605, 610) may correspond to different values of forceinformation, which may categorize different intensities for differentinput forces. In one or more embodiments, a force threshold correspondsto a specific amount of force (e.g., a specific magnitude of forceand/or pressure). In one or more embodiments, a force thresholdcorresponds to a range of different force magnitudes. For example, thelow force threshold (605) and the high force threshold (610) may bedesignated in a lookup table accessed by a processing system. Whileforce thresholds may be defined using various amounts of force, in oneor more embodiments, a force threshold is defined using the duration oftime that an input force is applied above a specific force value. In oneor more embodiments, a force threshold is defined by an amount of areaon an input surface that obtains an input force above a specific forcevalue.

Furthermore, as shown in FIG. 6B, the input force A (631) has a forcemagnitude that is below both the low force threshold (605) and the highforce threshold (610). In comparison, as shown in FIG. 6C, the inputforce B (632) has a force magnitude that exceeds the low force threshold(605), but fails to surpass the high force threshold (610). As shown inFIG. 6D, the input force C (633) may surpass both the low forcethreshold (605) and the high force threshold (610). In one embodimentmultiple thresholds may be used to implement hysteresis (e.g. press andrelease thresholds for a button) to prevent falls triggering. While twoforce thresholds are shown in FIGS. 6B-6D, other embodiments arecontemplated where three or more force thresholds are implemented usingan input device and/or processing system. Likewise, force thresholds maymove (e.g. tracking environmental changes) in response to a filteredforce input. Furthermore, categorizing an input force as a low force ora high force by whether a respective force exceeds a high forcethreshold should not be intended as an actual description of the forcemagnitude of the respective force. The terminology between low forcesand high forces is merely used to distinguish that one force thresholdcorresponds to a greater force value than the force value correspondingto a different force threshold.

Returning to FIG. 5, in Step 540, a determination is made whether toload a spring element coupled to a buckling element based on positionalinformation and/or force information in accordance with one or moreembodiments. For example, a processing system may load one or morespring elements in response to obtaining specific positional informationregarding an input object and/or force information regarding an inputforce. In one or more embodiments, for example, a hard press, i.e., aninput force that exceeds multiple force thresholds may cause theprocessing system to load the spring element. Likewise, when the inputforce falls below one or more of the force thresholds, the processingsystem may further cause the haptic event to trigger. Note that otherinputs may be available such as information about the preload state ofthe spring such that either an additional preload may not be necessary,or in the case of accidental activation an additional preload may benecessary and in these cases determination of preloading for the springmay be inhibited or induced out of order. When a determination is madenot to load the spring element, the process may return to Step 500. Whena determination is made to load the spring element, the process mayproceed to Step 550.

In Step 550, positional information is obtained regarding one or moreinput objects in a sensing region in accordance with one or moreembodiments. In particular, after a spring element is preloaded, aprocessing system may continue to scan a sensing region for positionalinformation that may trigger one or more haptic events. Step 550 may besimilar to Step 300 described in FIG. 3 and the accompanyingdescription.

In Step 560, force information is obtained regarding one or more inputforces applied to an input surface in accordance with one or moreembodiments. After a spring element is preloaded, a processing systemmay further monitor an input device for one or more input forces thatmay trigger one or more haptic events. Step 560 may be similar to Step310 described in FIG. 3 and the accompanying description.

In Step 570, a determination is made whether to trigger a haptic eventbased on positional information and/or force information in accordancewith one or more embodiments. Based on the positional information fromStep 550 and/or the force information from Step 560, a processing systemmay determine whether to trigger one or more haptic events. When adetermination is made to wait on triggering a haptic event, the processmay return to Step 550. When a determination is made that a haptic eventis triggered, the process may proceed to Step 580.

In Step 580, a haptic event is generated using a buckling element and apreloaded spring element in accordance with one or more embodiments.Step 580 may be similar to Step 330 described in FIG. 3 and theaccompanying description.

Turning to FIGS. 7A, 7B, and 7C, FIGS. 7A, 7B, and 7C show schematicdiagrams in accordance with one or more embodiments. As shown in FIG.7A, an input device (701) may include a deformable substrate (711), ahousing (741), a transmitter electrode (751), and a receiver electrode(761). The deformable substrate (711) may include functionality tochange shape or flex in response to an input force (791) applied by aninput object (721). For example, the deformable substrate (711) may bean elastic and flexible material that deflects toward the housing (741)in response to the input force (791). In one or more embodiments, thedeformable substrate (711) may be the display (290) and/or input surface(270) described in FIG. 2 and the accompanying description.

Keeping with FIG. 7A, the deformable substrate (711) may include areference voltage substrate (726). The reference voltage substrate (726)may be conductive material that includes functionality to generate areference voltage for capacitive coupling with the transmitter electrode(761) and the receiver electrode (731). The capacitive couplingillustrated, for example, by the electric field lines (771).Accordingly, the reference voltage substrate (726) may be ohmicallycoupled with a power source inside an electronics system. The referencevoltage substrate (726) may be located on the surface of the deformablesubstrate (711) and/or disposed inside the deformable substrate (711).Moreover, the deformable substrate (711) may be a single layer orvarious discrete components of uniform or different sizes. Additionally,the reference voltage substrate (726) may be a component of a displayused for display updating.

In one or more embodiments, the input device (701) of FIG. 7A isimplemented within the electronic system (200) of FIG. 2. In one or moreembodiments, for example, the reference voltage substrate (726) isdisposed in the display (290). Moreover, the transmitter electrode (761)and the receiver electrode (731) may form a portion of the proximitysensor electrodes (280), for example, in the electronic system (200).

Turning to FIG. 7B, an input device (702) includes a deformablesubstrate (712), a housing (742), a sensor electrode (752), and areference voltage substrate (727). As shown in FIG. 7B, capacitivecoupling is illustrated, for example, by the electric field lines (772).Accordingly, an input force (792) applied by an input object (722)produces a change in variable capacitance between the sensor electrode(752) and the reference voltage substrate (727). In one or moreembodiments, the reference voltage substrate (727) may be a component ofthe display used for display updating.

Turning to FIG. 7C, an input device (703) includes a deformablesubstrate (713), a housing (743), a transmitter electrode (763), and areceiver electrode (753). As shown in FIG. 7C, capacitive coupling isillustrated, for example, by the electric field lines (773).Accordingly, an input force (793) applied by an input object (723)produces a change in variable capacitance between the transmitterelectrode (763) and the receiver electrode (753). In one or moreembodiments, the transmitter electrode (763) may be disposed on adisplay within the deformable substrate (713). In various embodiments,the transmitter electrode (763) may be a component of the display usedfor updating. In various embodiments, the transmitter electrode (763)may be a component of the input sensing system of the input device (703)(i.e. used to determine positional information of input objects in asensing region of the input device). Input device (702) and input device(703) may be implemented in the electronic system (200) of FIG. 2.

Embodiments may be implemented on a computing system. Any combination ofmobile, desktop, server, router, switch, embedded device, or other typesof hardware may be used. For example, as shown in FIG. 8, the computingsystem (800) may include one or more computer processors (802),non-persistent storage (804) (e.g., volatile memory, such as randomaccess memory (RAM), cache memory), persistent storage (806) (e.g., ahard disk, an optical drive such as a compact disk (CD) drive or digitalversatile disk (DVD) drive, a flash memory, etc.), a communicationinterface (812) (e.g., Bluetooth interface, infrared interface, networkinterface, optical interface, etc.), and numerous other elements andfunctionalities.

The computer processor(s) (802) may be an integrated circuit forprocessing instructions. For example, the computer processor(s) may beone or more cores or micro-cores of a processor. The computing system(800) may also include one or more input devices (810), such as atouchscreen, keyboard, mouse, microphone, touchpad, electronic pen, orany other type of input device.

The communication interface (812) may include an integrated circuit forconnecting the computing system (800) to a network (not shown) (e.g., alocal area network (LAN), a wide area network (WAN) such as theInternet, mobile network, or any other type of network) and/or toanother device, such as another computing device.

Further, the computing system (800) may include one or more outputdevices (808), such as a screen (e.g., a liquid crystal display (LCD), aplasma display, touchscreen, cathode ray tube (CRT) monitor, projector,or other display device), a printer, external storage, or any otheroutput device. One or more of the output devices may be the same ordifferent from the input device(s). The input and output device(s) maybe locally or remotely connected to the computer processor(s) (802),non-persistent storage (804), and persistent storage (806). Manydifferent types of computing systems exist, and the aforementioned inputand output device(s) may take other forms.

Software instructions in the form of computer readable program code toperform embodiments of the disclosed technology may be stored, in wholeor in part, temporarily or permanently, on a non-transitory computerreadable medium such as a CD, DVD, storage device, a diskette, a tape,flash memory, physical memory, or any other computer readable storagemedium. Specifically, the software instructions may correspond tocomputer readable program code that, when executed by a processor(s), isconfigured to perform one or more embodiments.

Rather than or in addition to sharing data between processes, thecomputing system performing one or more embodiments of the disclosedtechnology may include functionality to receive data from a user. Forexample, in one or more embodiments, a user may submit data via agraphical user interface (GUI) on the user device. Data may be submittedvia the graphical user interface by a user selecting one or moregraphical user interface widgets or inserting text and other data intographical user interface widgets using a touchpad, a keyboard, a mouse,or any other input device. In response to selecting a particular item,information regarding the particular item may be obtained frompersistent or non-persistent storage by the computer processor. Uponselection of the item by the user, the contents of the obtained dataregarding the particular item may be displayed on the user device inresponse to the user's selection.

The computing system in FIG. 8 may implement and/or be connected to adata repository. For example, one type of data repository is a database.A database is a collection of information configured for ease of dataretrieval, modification, re-organization, and deletion. DatabaseManagement System (DBMS) is a software application that provides aninterface for users to define, create, query, update, or administerdatabases.

The user, or software application, may submit a statement or query intothe DBMS. Then the DBMS interprets the statement. The statement may be aselect statement to request information, update statement, createstatement, delete statement, etc. Moreover, the statement may includeparameters that specify data, or a data container (e.g., database,table, record, column, view, etc.), identifier(s), conditions (e.g.,comparison operators), functions (e.g., join, full join, count, average,etc.), sort (e.g., ascending, descending), or others. The DBMS mayexecute the statement. For example, the DBMS may access a memory buffer,may access a reference, or may index a file for reading, writing,deletion, or any combination thereof, for responding to the statement.The DBMS may load the data from persistent or non-persistent storage andperform computations to respond to the query. The DBMS may return theresult(s) to the user or software application.

The computing system of FIG. 8 may include functionality to present rawand/or processed data, such as results of comparisons and otherprocessing. For example, presenting data may be accomplished throughvarious presenting methods. Specifically, data may be presented througha user interface provided by a computing device. The user interface mayinclude a GUI that displays information on a display device, such as acomputer monitor or a touchscreen on a handheld computer device. The GUImay include various GUI widgets that organize what data is shown as wellas how data is presented to a user. Furthermore, the GUI may presentdata directly to the user, e.g., data presented as actual data valuesthrough text, or rendered by the computing device into a visualrepresentation of the data, such as through visualizing a data model.

For example, a GUI may first obtain a notification from a softwareapplication requesting that a particular data object be presented withinthe GUI. Next, the GUI may determine a data object type associated withthe particular data object, e.g., by obtaining data from a dataattribute within the data object that identifies the data object type.Then, the GUI may determine any rules designated for displaying thatdata object type, e.g., rules specified by a software framework for adata object class or according to any local parameters defined by theGUI for presenting that data object type. Finally, the GUI may obtaindata values from the particular data object and render a visualrepresentation of the data values within a display device according tothe designated rules for that data object type.

Data may also be presented through various audio methods. In particular,data may be rendered into an audio format and presented as sound throughone or more speakers operably connected to a computing device.

Data may also be presented to a user through haptic methods. Forexample, haptic methods may include vibrations or other physical signalsgenerated by the computing system. For example, data may be presented toa user using a vibration generated by a handheld computer device with apredefined duration and intensity of the vibration to communicate thedata.

The above description of functions presents only a few examples offunctions performed by the computing system of FIG. 8. Other functionsmay be performed using one or more embodiments of the disclosedtechnology.

While the invention has been described with respect to a limited numberof embodiments, those skilled in the art, having benefit of thisdisclosure, will appreciate that other embodiments can be devised whichdo not depart from the scope of the invention as disclosed herein.Accordingly, the scope of the invention should be limited only by theattached claims.

1-20. (canceled)
 21. An input device comprising: an elastic bucklingelement coupled to a spring element, the elastic buckling elementconfigured to buckle upon application of a buckling actuator force; aforce-generating loading actuator coupled to the spring element, theforce-generating loading actuator configured to, upon receiving acommand signal from a processing system, store energy in the springelement; and a force-generating buckling actuator coupled to the elasticbuckling element, wherein the force-generating buckling actuator isconfigured to apply the buckling actuator force to the elastic bucklingelement when energy is stored in the spring element and to produce ahaptic event.
 22. The input device of claim 21, wherein applying thebuckling actuator force comprises exciting the elastic buckling elementat a vibratory frequency corresponding to a buckling mode in the elasticbuckling element.
 23. The input device of claim 22, wherein the excitingof the elastic buckling element is to near a buckling condition.
 24. Theinput device of claim 22, wherein the exciting of the elastic bucklingelement is to beyond a buckling condition to cause a buckling eventcorresponding to the produced haptic event.
 25. The input device ofclaim 21, wherein the force-generating buckling actuator and theforce-generating loading actuator are a single mechanical component. 26.The input device of claim 21, wherein the spring element and the elasticbuckling element are a single mechanical component.
 27. The input deviceof claim 21, further comprising: a plurality of force sensor electrodescoupled to an input surface of the input device, the plurality of forcesensor electrodes configured to detect the input force applied to theinput surface.
 28. The input device of claim 27, further comprising: aprocessing system coupled to the plurality of force sensor electrodes,wherein the processing system is configured to compare a forceinformation determined using the plurality of force sensor electrodesagainst a first force threshold and a second force threshold higher thanthe first force threshold.
 29. The input device of claim 28, wherein theprocessing system is further configured to: when the force informationexceeds the second force threshold, cause the buckling actuator to applythe buckling actuator force to the elastic buckling element, and whenthe force information falls below the second threshold, cause the hapticevent by applying the buckling actuator force to the elastic bucklingelement.
 30. A processing system coupled with an input device,comprising: a sensor module, the sensor module configured to: obtain,from a plurality of force sensor electrodes of the input device, aplurality of resulting signals; and a determination module, thedetermination module configured to: determine, using the plurality ofresulting signals, force information regarding a first input forceapplied to an input surface, load, using a force-generating loadingactuator and in response to a command signal generated by the processingsystem based on the force information, first energy in a spring elementcoupled to an elastic buckling element, wherein the spring elementapplies a compression force to the elastic buckling element based atleast part on the first energy in the spring element, and generate,using a force-generating buckling actuator and in response to the forceinformation, a haptic event by applying a buckling actuator force to theelastic buckling element to trigger the haptic event.
 31. The processingsystem of claim 30, wherein the determination module is furtherconfigured to: determine, using the force information, whether the inputforce exceeds a force threshold, wherein the first energy is stored inthe spring element in response to the input force exceeding the forcethreshold.
 32. The processing system of claim 30, wherein thedetermination module is further configured to: determine, using theforce information, whether the input force exceeds a first forcethreshold and a second force threshold higher than the first forcethreshold.
 33. The processing system of claim 32, wherein thedetermination module is further configured to: when the forceinformation exceeds the second force threshold, cause the bucklingactuator to apply the buckling actuator force to the elastic bucklingelement, and when the force information falls below the secondthreshold, cause the haptic event by applying the buckling actuatorforce to the elastic buckling element.
 34. The processing system ofclaim 30, wherein the determination module is further configured to:determine whether a predetermined amount of time has passed sincegenerating the haptic event; and store, in response to determining thatthe amount of time is past, a second energy in the spring element. 35.The processing system of claim 34, wherein the energy in the springelement produces a compression force, and wherein the buckling actuatorforce by the force-generating buckling actuator is laterally applied tothe elastic buckling element to produce the haptic event.
 36. A method,comprising: obtaining, using a plurality of resulting signals from aplurality of force sensor electrodes, force information regarding aninput force applied to an input surface, loading, using aforce-generating loading actuator and in response to a command signalgenerated by a processing system based on the force information, energyin a spring element coupled to an elastic buckling element, wherein thespring element applies a compression force to the elastic bucklingelement based at least part on the energy in the spring element, andgenerating, using a force-generating buckling actuator and in responseto the force information, a haptic event by applying a buckling actuatorforce to the elastic buckling element to trigger the haptic event.